﻿Imports Control.clases

Public Class _Default
    Inherits System.Web.UI.Page

    Dim equipo As New clsEquipo
    Dim ubicacion As New clsUbicacionLugar
    Dim lugar As New clsUbicacionLugar
    Dim marca As New clsMarca
    Dim categoria As New clsCategoria
    Dim tipo As New clsTipoEquipo
    Dim IP As String
    Dim CodigoUsuario As Integer

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dtEquipo As Data.DataTable
        Dim dtAux As Data.DataTable

        If Not IsPostBack Then
            IP = ObtenerIP()
            mtdOcultarBotones(True)
            lblFecha.Text = Date.Now.ToString("dd/mm/yyyy")
            'CARGANDO COMBOS
            dtAux = ubicacion.listarUbicacion()
            With cmbUbicacionEquipo
                .DataSource = dtAux
                .DataValueField = "id_ubicacion"
                .DataTextField = "ubicacion_area"
                .DataBind()
            End With
            dtAux = lugar.listarLugar()
            With cmbLugarEquipo
                .DataSource = dtAux
                .DataValueField = "id_lugar"
                .DataTextField = "lugar_sede"
                .DataBind()
            End With
            dtAux = marca.listarMarca()
            With cmbMarca
                .DataSource = dtAux
                .DataValueField = "id_marca"
                .DataTextField = "marca_descripcion"
                .DataBind()
            End With
            dtAux = marca.listarMarca()
            With cmbMarcaDetalle
                .DataSource = dtAux
                .DataValueField = "id_marca"
                .DataTextField = "marca_descripcion"
                .DataBind()
            End With
            dtAux = tipo.listarTipoEquipo()
            With cmbTipoEquipo
                .DataSource = dtAux
                .DataValueField = "id_tipo_pc"
                .DataTextField = "tipo_pc_descripcion"
                .DataBind()
            End With
            dtAux = categoria.listarCategoria()
            With cmbCategoriaDetalle
                .DataSource = dtAux
                .DataValueField = "id_categoria"
                .DataTextField = "tipo_categoria"
                .DataBind()
            End With

            'VERIFICACION DE IPS
            dtEquipo = equipo.buscarEquipo(IP)
            'MsgBox(dt.ToString())
            If dtEquipo.Rows.Count = 0 Then
                lblConsolaRespuesta.Text = "No se ha encontrado ni un registro con esta IP"
                btnAgregar.Enabled = True
                btnActualizar.Enabled = False
                btnActualizar2.Enabled = False
                btnAgregarDetalle.Enabled = False
                btnAgregarMantenimiento.Enabled = False
            Else
                lblConsolaRespuesta.Text = "Se ha encontrado un equipo con esta IP"
                lblCodigoEquipo.Text = dtEquipo.Rows(0)("id_equipo").ToString()
                txtEquipoNombre.Text = dtEquipo.Rows(0)("equipo_nombre_pc").ToString()
                cmbUbicacionEquipo.SelectedValue = dtEquipo.Rows(0)("tb_ubicacion_id_ubicacion").ToString()
                cmbLugarEquipo.SelectedValue = dtEquipo.Rows(0)("tb_lugar_id_lugar").ToString()
                txtEquipoResponsable.Text = dtEquipo.Rows(0)("equipo_responsable").ToString()
                txtEquipoObservacion.Text = dtEquipo.Rows(0)("equipo_observacion").ToString()
                txtEquipoMAC.Text = dtEquipo.Rows(0)("equipo_direccion_mac").ToString()
                txtEquipoCodInventario.Text = dtEquipo.Rows(0)("equipo_codigo_inventario").ToString()
                txtLicencia.Text = dtEquipo.Rows(0)("equipo_licencia").ToString()
                txtEquipoUltimaActualizacion.Text = dtEquipo.Rows(0)("equipo_actualizado").ToString()
                cmbMarca.SelectedValue = dtEquipo.Rows(0)("tb_marca_id_marca").ToString()
                cmbTipoEquipo.SelectedValue = dtEquipo.Rows(0)("tb_tipo_pc_id_tipo_pc").ToString()

                'habilitar botones
                btnAgregar.Enabled = False
                btnActualizar.Enabled = True
                btnActualizar2.Enabled = True
                'btnAgregarDetalle.Enabled = True
                'btnAgregarMantenimiento.Enabled = True

                'Cargar Tabla Detalle
                Dim codigoEquipo As Integer = Integer.Parse(lblCodigoEquipo.Text)
                Dim detalleEquipo As New clsEquipo(codigoEquipo)
                Dim dtDetalle As Data.DataTable = detalleEquipo.listarDetalleEquipo()
                divTable.InnerHtml = detalleEquipo.ConvertToHtmlFile(dtDetalle)

                'Cargar Tabla de Historiales de Mantenimineto
                Dim mantenimiento As New clsMantenimiento(Integer.Parse(lblCodigoEquipo.Text))
                Dim dtHistorial As Data.DataTable = mantenimiento.listarHistorial()
                divHistorial.InnerHtml = mantenimiento.ConvertToHtmlFile(dtHistorial)
            End If

            If Not Session.Item("s_nombre") Is Nothing Then
                If Session("s_usuario").ToString() = "Usuario" Then
                    'divLogin.Visible = False
                    mtdOcultarLogin(True)
                    lblConsola.Visible = False
                    mtdOcultarBotones(False)
                    btnAdministracion.Visible = False
                Else
                    'divLogin.Visible = False
                    mtdOcultarLogin(True)
                    lblConsola.Visible = False
                    mtdOcultarBotones(False)
                    btnAdministracion.Visible = True
                End If
            Else
                'divLogin.Visible = True
                mtdOcultarLogin(False)
                lblConsola.Visible = True
                mtdOcultarBotones(True)
            End If
        End If
    End Sub

    Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
        Dim usuario As New clsUsuario
        Dim usuarioNombre As String = txtUsuario.Text
        Dim usuarioPassword As String = txtContraseña.Text
        Dim validacion As Integer = usuario.loginUsuario(usuarioNombre, usuarioPassword)
        Dim nivel As String

        If validacion = 0 Then
            lblConsola.Text = "Usuario invalido, intentelo de nuevo!"
        ElseIf validacion = 1 Then
            nivel = "Administrador"
            lblConsola.Text = "Bienvenido"
            lblConsola.Visible = True
            mtdOcultarLogin(True)
            mtdOcultarBotones(False)
            Session("s_usuario") = nivel
            Session("s_nombre") = usuarioNombre
            Me.CodigoUsuario = usuario.IdUsuario
            Session("s_codigo") = usuario.IdUsuario
            btnAdministracion.Visible = True
        ElseIf validacion = 2 Then
            nivel = "Usuario"
            lblConsola.Text = "Bienvenido"
            lblConsola.Visible = True
            mtdOcultarLogin(True)
            mtdOcultarBotones(False)
            Session("s_usuario") = nivel
            Session("s_nombre") = usuarioNombre
            Me.CodigoUsuario = usuario.IdUsuario
            Session("s_codigo") = usuario.IdUsuario
            btnAdministracion.Visible = False
        End If
    End Sub

    Private Sub mtdOcultarLogin(ByVal orden As Boolean)
        txtUsuario.Visible = Not orden
        txtContraseña.Visible = Not orden
        lblUsuario.Visible = Not orden
        lblContraseña.Visible = Not orden
        btnLogin.Visible = Not orden
        btnLogout.Visible = orden
        btnAdministracion.Visible = orden
        btnAgregarDetalle.Enabled = orden
        btnAgregarMantenimiento.Enabled = orden
    End Sub

    Protected Sub btnLogout_Click(sender As Object, e As EventArgs) Handles btnLogout.Click
        mtdOcultarLogin(False)
        txtUsuario.Text = ""
        txtContraseña.Text = ""
        lblConsola.Visible = False
        mtdOcultarBotones(True)
        btnAgregarDetalle.Enabled = False
        btnAgregarMantenimiento.Enabled = False
        Session.Clear()
    End Sub

    Protected Sub btnAdministracion_Click(sender As Object, e As EventArgs) Handles btnAdministracion.Click

    End Sub

    Private Sub mtdOcultarBotones(ByVal orden As Boolean)
        btnAgregar.Visible = Not orden
        btnActualizar.Visible = Not orden
        btnActualizar2.Visible = Not orden
        'btnAgregar2.Visible = Not orden
    End Sub

    Private Function ObtenerIP() As String
        Return Request.ServerVariables("REMOTE_ADDR").ToString()
    End Function

    Protected Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles btnAgregar.Click
        Try
            equipo.ingresarDatosGenerales(ObtenerIP(),
                                      txtEquipoNombre.Text,
                                      cmbUbicacionEquipo.SelectedValue,
                                      cmbLugarEquipo.SelectedValue,
                                      txtEquipoResponsable.Text,
                                      txtEquipoObservacion.Text)
        Catch ex As Exception

        End Try
    End Sub

    Protected Sub btnActualizar_Click(sender As Object, e As EventArgs) Handles btnActualizar.Click, btnActualizar2.Click
        Try
            equipo.actualizarDatosEquipo(lblCodigoEquipo.Text, txtEquipoNombre.Text, ObtenerIP(), txtEquipoResponsable.Text,
                                    txtEquipoMAC.Text, txtEquipoCodInventario.Text, cmbMarca.SelectedValue, cmbTipoEquipo.SelectedValue,
                                    cmbUbicacionEquipo.SelectedValue, cmbLugarEquipo.SelectedValue, txtEquipoObservacion.Text, txtLicencia.Text)
        Catch ex As Exception

        End Try
    End Sub

    Protected Sub btnAgregarDetalle_Click(sender As Object, e As EventArgs) Handles btnAgregarDetalle.Click
        Try
            Dim codigoEquipo As Integer = Integer.Parse(lblCodigoEquipo.Text)
            Dim detalleEquipo As New clsEquipo(codigoEquipo)
            detalleEquipo.ingresarDetalleEquipo(cmbCategoriaDetalle.SelectedValue,
                                                txtDetalleDescripcion.Text,
                                                cmbMarcaDetalle.SelectedValue,
                                                Integer.Parse(txtDetalleCantidad.Text))
            Response.Redirect(Request.Url.ToString())
        Catch ex As Exception

        End Try
    End Sub

    Protected Sub btnAgregarMantenimiento_Click(sender As Object, e As EventArgs) Handles btnAgregarMantenimiento.Click
        Dim mantenimiento As New clsMantenimiento(Integer.Parse(Session("s_codigo").ToString()),
                                                  Integer.Parse(lblCodigoEquipo.Text))
        mantenimiento.ingresarHistorial(txtMantenimientDescripcion.Text)
        Response.Redirect(Request.Url.ToString())
    End Sub

    Protected Sub btnOpener_Click(sender As Object, e As EventArgs)

    End Sub

    Protected Sub btnAdministracion_Click1(sender As Object, e As EventArgs)
        Response.Redirect("Mantenimiento.aspx")
    End Sub
End Class